This invention relates generally to processing within a computing environment, and more particularly to dynamic routing in a virtual machine environment.
In a network environment, proper and flexible routing of network packets is crucial. In order to increase throughput and/or reliability, servers are often configured with two or more network interface cards (NICs). Often one is used for primary network traffic, and a second is used as a backup in case the first one loses network connectivity. In order to properly route network packets to the correct network card, and therefore dynamically adjust the network path (or routes) based on the network's conditions, operating systems are configured to use dynamic routing protocols that dynamically detect changes in the routed networking infrastructure. In order for the operating system to dynamically adjust to these changes, it must use some computer processing resources.
Although the processing resources used to update network routes is typically small, in a virtual machine environment, a number of operating systems may execute on a single server simultaneously. Each of the operating systems must consume computer processing resources every time any of the routes are updated. This generally happens simultaneously, and therefore, with enough virtual machines executing on a single server, a network change may trigger a larger collective use of processing resources in order to update the revised routes across all of the virtual machines residing on the single server.